pridavani komponent za behu a repaint

Otázka od: Karolina Nemanska

5. 4. 2004 15:23

Opet zdravim!
Za behu vytvarim komponenty ve scrollboxu - vse se dari az na to, ze v miste
scrollboxu zustane po zavreni formu nekolik neprekreslenych mist - a ty
nezmizi ani po volani form.update pripadne scrollbox.repaint. Zajimave, ze
to dela v XP, ve Win98 zda se ze ne...
Zdrojak vypada takhle - delam neco spatne?

Karolina

procedure TForm1.Button2Click(Sender: TObject);
var p:TPanel;
    l:TLabel;
    l2:Tlabel;
    b:Tbutton;
    var i,j:integer;
    s:string;
begin
  p:=Tpanel.Create(form2.ScrollBox1);
  p.Parent:=form2.ScrollBox1;
  p.Align:=alTop;
  p.Caption:='';
  l:=Tlabel.Create(p);
  l.parent:=p;
  l.Top:=0;
  l.left:=0;
  l.caption:='pokus';
  b:=tbutton.Create(p);
  b.Parent:=p;
  b.Caption:='x';
  b.Width:=15;
  b.height:=15;
  b.Left:=p.Width-b.Width;
  b.Top:=0;
  b.Anchors:=[akRight,akTop];
  b.OnClick:=Button4Click;
  s:='';
  for i:=0 to random(15)+10 do begin
    for j:=0 to random(10)+4 do begin
      s:=s+chr(random(27)+ord('a'));
    end;
    s:=s+' ';
  end;
  l2:=tlabel.create(p);
  l2.OnMouseMove:=zmenbarvu;
  l2.WordWrap:=true;
  l2.Top:=15;
  l2.AutoSize:=true;
  l2.constraints.MaxWidth:=p.width;
  l2.constraints.minWidth:=p.width;
  l2.caption:=s;
  l2.color:=$0093C9FF;
  p.Height:=l2.Height+15;
end;